#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <assert.h>
#include <ctype.h>

#include "CharacterSet.h"

#ifdef SCI_NAMESPACE
using namespace Scintilla;
#endif

#ifdef SCI_NAMESPACE
namespace Scintilla {
#endif

  int CompareCaseInsensitive( const char *a, const char *b ) {
    while( *a && *b ) {
      if( *a != *b ) {
        char upperA = MakeUpperCase( *a );
        char upperB = MakeUpperCase( *b );
        if( upperA != upperB ) {
          return upperA - upperB;
        }
      }
      a++;
      b++;
    }
    return *a - *b;
  }

  int CompareNCaseInsensitive( const char *a, const char *b, size_t len ) {
    while( *a && *b && len ) {
      if( *a != *b ) {
        char upperA = MakeUpperCase( *a );
        char upperB = MakeUpperCase( *b );
        if( upperA != upperB ) {
          return upperA - upperB;
        }
      }
      a++;
      b++;
      len--;
    }
    if( len == 0 ) {
      return 0;
    } else
    { return *a - *b; }
  }

  #ifdef SCI_NAMESPACE
}
  #endif
